package com.misssad.handle;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.web.bind.annotation.ControllerAdvice;
import org.springframework.web.bind.annotation.ExceptionHandler;
import org.springframework.web.bind.annotation.ResponseBody;

import com.misssad.exception.GirlException;
import com.misssad.model.Result;
import com.misssad.utils.ResultUtil;

@ControllerAdvice
public class ExceptionHandle {

	private final static Logger logger = LoggerFactory.getLogger(ExceptionHandle.class);
	
	@ExceptionHandler(value = Exception.class)
	@ResponseBody
	public Result<?> handle(Exception e){
		
		if(e instanceof GirlException){
			GirlException girlException = (GirlException) e;
			return ResultUtil.error(girlException.getCode(), girlException.getMessage());
		}
		logger.error("【系统异常】{}", e);
		return ResultUtil.error(-1, "未知错误");//这样捕获到的异常不会打印出具体错在哪里，所以要打日志
	}
}
